﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace Zocono.WCS.Infrastructure.ApllicationDto.DtoWcsManage
{

    #region Query
    public class QueryEquipmentLayoutInfoDto : PageResultDto
    {
        public string AreaCode { get; set; }
        public string DefaultColor { get; set; }
        /// <summary>
        /// 方向 对应枚举 EnumEquipmentDirection
        /// </summary>
        public int? Direction { get; set; }
        /// <summary>
        /// 调度设备的设备编号和设备布局编号一致
        /// </summary>
        public string EquipmentLayoutCode { get; set; }
    }
    public class QueryEquipmentLayoutTypeInfoDto : PageResultDto
    {
        public long? EquipmentTypeID { get; set; }
        public string TypeCode { get; set; }
        public string TypeName { get; set; }
    }
    #endregion

    /// <summary>
    /// 设备布局
    /// </summary>
    public class EquipmentLayoutInfoDto
    {
        public long ID { get; set; }
        public string Js_Id { get { return ID.ToString(); } }
        public string AreaCode { get; set; }
        /// <summary>
        /// 堆垛机、货架单元格数
        /// </summary>
        public int ColumnCount { get; set; }
        public string DefaultColor { get; set; }
        /// <summary>
        /// 方向 对应枚举 EnumEquipmentDirection
        /// </summary>
        public int Direction { get; set; }
        public long EquipmentID { get; set; }
        /// <summary>
        /// 调度设备的设备编号和设备布局编号一致
        /// </summary>
        public string EquipmentLayoutCode { get; set; }
        public long EquipmentLayoutTypeID { get; set; }
        public int PointX { get; set; }
        public int PointY { get; set; }
        public int SizeHeigth { get; set; }
        public int SizeWidth { get; set; }
        [Required(AllowEmptyStrings = true)]
        public string EquipmentName { get; set; }
        [Required(AllowEmptyStrings = true)]
        public string EquipmentLayoutTypeName { get; set; }
        [Required(AllowEmptyStrings = true)]
        public string DirectionDescirption { get; set; }
    }

    /// <summary>
    /// 设备布局类型
    /// </summary>
    public class EquipmentLayoutTypeInfoDto
    {
        public long ID { get; set; }
        public string Js_Id { get { return ID.ToString(); } }
        public long EquipmentTypeID { get; set; }
        public string TypeCode { get; set; }
        public string TypeName { get; set; }
        [Required(AllowEmptyStrings = true)]
        public string EquipmentTypeName { get; set; }
    }
}
